/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package co.edu.eam.supergiros.persistencia.dao.implementaciones;

import co.edu.eam.supergiros.persistencia.dao.definiciones.IDAOUsuario;
import co.edu.eam.supergiros.persistencia.entidades.Usuario;
import java.util.List;
import javax.persistence.Query;
import javax.persistence.EntityManager;

/**
 *
 * @author EAM
 */
public class DAOUsuario implements  IDAOUsuario{


    private EntityManager em;

    public DAOUsuario(EntityManager em) {
        this.em = em;
    }

   /**
    * Metodo que se encarga de crear un Usuario
    * @param usuario, Objeto Tipo Usuario
    */
    @Override
    public void crear(Usuario usuario) {

       
        em.persist(usuario);
        
    }

    /**
     * Metodo que se encarga de editar un Usuario
     * @param usuario, Objeto tipo Usuario
     */
    @Override
    public void editar(Usuario usuario) {
        
        em.merge(usuario);
       

    }

    /**
     * Metodo que se encarga de listar todos los Usuarios
     * @return, Lista de todos los Usuarios
     */
    @Override
    public List<Usuario> listarUsuarios() {

       Query q = em.createNamedQuery(Usuario.CONSULTA_LISTAR_USUARIOS);
        return q.getResultList();
    }

    /**
     * Metodo que se encarga de buscar un Usuario
     * @param cedula, cedula del Usuario
     * @return, Objeto tipo Usuario.
     */
    @Override
    public Usuario buscar(String cedula) {
        return em.find(Usuario.class, cedula);
    }

}
